#include "PollServer.hpp"

int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        LOG(ERROR, "./tcpserver serverport\n");
        exit(2);
    }
    uint16_t localport = std::stoi(argv[1]);
    EnableScreen();

    std::unique_ptr<PoolServer> server = std::make_unique<PoolServer>(localport);

    server->Init();

    server->Loop();

    return 0;
}

// #include <iostream>
// #include <unistd.h>
// #include <fcntl.h>
// #include <cstdio>

// void SetNonBlock(int fd)
// {
//     int fl = fcntl(fd, F_GETFL);
//     if (fl < 0)
//     {
//         perror("set");
//         exit(1);
//     }
//     fcntl(fd, F_SETFL, fl | O_NONBLOCK);
// }

// int main()
// {
//     char buff[1024];
//     SetNonBlock(0);
//     while (true)
//     {
//         printf("Enter# ");
//         fflush(stdout0)
//         ssize_t n = ::read(0, buff, sizeof(buff) - 1);
//         if (n > 0)
//         {
//             buff[n] = 0;
//             printf("echo# %s", buff);
//         }
//         else if (n == 0)
//         {
//             printf("read done");
//             break;
//         }
//         else
//         {
//             if(errno == EWOULDBLOCK)
//             {
//                 sleep(1);
//                 std::cout << "轮询..."<<std::endl;
//                 continue;
//             }
//             else
//             {
//                 perror("read");
//                 break;
//             }
//         }
//     }

//     return 0;
// }